package com.example.micro.thread.queue.pool;

import java.util.concurrent.Callable;

/**
 * 消费者处理线程
 *
 * @author Code Farmer
 * @create 2021/3/29 1:23 上午
 */
public class ThreadCustomerDispose implements Callable<Integer> {

    /**
     * 待处理的数据
     */
    private Integer data;

    public ThreadCustomerDispose(Integer data) {
        this.data = data;
    }

    @Override
    public Integer call() throws Exception {
        return doDisposeData(data);
    }

    /**
     * 处理数据 （获取数据+1）
     *
     * @param data
     * @return
     */
    Integer doDisposeData(Integer data) {
        //随机产生异常,模拟异常处理
//        if (Math.random() > 0.8) {
//            throw new RuntimeException("produce error");
//        }
        return data + 1;
    }

}
